home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 12, No. 09 (1991-09)(MindCraft Publishing)(Side A).zip / Nibble Volume 12, No. 09 (1991-09)(MindCraft Publishing)(Side A).po / PS.CONVERT.S < prev    next >
Text File  |  1996-12-24  |  3KB  |  126 lines

  1. *PS.CONVERT
  2. *CONVERT PRINT SHOP TO UG CLIP
  3. *March 13, 1990
  4.           ORG $1C00
  5. *EQUATES
  6. UG.LO     EQU $19 CLIP BYTE POINTERS
  7. UG.HI     EQU $1A
  8. PS.LO     EQU $1B PRINT SHOP BYTE POINTERS
  9. PS.HI     EQU $1C
  10. BANK      EQU $1D BANK POINTER
  11. UG.BIT    EQU $1E CLIP BIT POINTER
  12. PS.BIT    EQU $1F PRINT SHOP BIT POINTER
  13. PIXVAL    EQU $E3 PIXEL VALUE
  14. *CLEAR MEMORY MEMORY AREA FOR CLIP
  15. CLR.0     LDA #$40
  16.           STA UG.HI
  17.           LDA #0
  18.           STA UG.LO
  19. CLR.1     LDY #0
  20. CLR.2     STA (UG.LO),Y
  21.           INY
  22.           BNE CLR.2
  23.           INC UG.HI
  24.           LDX UG.HI
  25.           CPX #$44
  26.           BNE CLR.1
  27. *CREATE HEADER
  28.           LDA #$40
  29.           STA UG.HI
  30.           LDY #0
  31.           STY UG.LO
  32.           LDA #7
  33.           JSR STR.HEAD
  34.           LDA #51
  35.           JSR STR.HEAD
  36.           LDA #1
  37.           JSR STR.HEAD
  38.           LDA #4
  39.           JSR STR.HEAD
  40.           LDA #0
  41.           JSR STR.HEAD
  42.           JSR STR.HEAD
  43.           LDA #78
  44.           JSR STR.HEAD
  45.           LDA #169
  46.           JSR STR.HEAD
  47.           JMP INIT
  48. STR.HEAD  STA (UG.LO),Y
  49.           INY
  50.           RTS
  51. *INITIALIZE POINTERS
  52. INIT      LDX #0
  53.           STX PS.LO
  54.           STX BANK
  55.           LDA #$40
  56.           STA UG.HI
  57.           LDA #$44
  58.           STA PS.HI
  59.           LDA #128
  60.           STA PS.BIT
  61.           LDA #1
  62.           STA UG.BIT
  63.           LDA #8
  64.           STA UG.LO
  65. *GET A PIXEL VALUE
  66. GETBIT    LDY #0
  67.           LDA (PS.LO),Y
  68.           AND PS.BIT
  69.           BEQ PS0
  70.           LDA #$FF
  71. PS0       STA PIXVAL
  72.           LSR PS.BIT INCREMENT PS POINTER
  73.           BNE PS2
  74.           INC PS.LO
  75.           BNE PS1
  76.           INC PS.HI
  77. PS1       LDA #128
  78.           STA PS.BIT
  79. PS2       LDA PS.LO CHECK FOR END OF CLIP
  80.           CMP #$41
  81.           BNE UG1
  82.           LDA PS.HI
  83.           CMP #$46
  84.           BNE UG1
  85.           RTS ALL DONE
  86. *INSERT PIXEL IN CLIP BUFFER
  87. UG1       LDA PIXVAL
  88.           AND UG.BIT
  89.           LDY BANK
  90.           ORA (UG.LO),Y
  91.           STA (UG.LO),Y
  92.           ASL UG.BIT INCREMENT BIT POINTER
  93.           LDA UG.BIT
  94.           CMP #128
  95.           BNE UG5
  96.           LDA #1
  97.           STA UG.BIT RESET BIT POINTER
  98.           LDA BANK
  99.           CMP #8
  100.           BNE UG2
  101.           INC UG.LO INCREMENT BYTE POINTER
  102.           BNE UG2 IF LAST DATA WAS FOR
  103.           INC UG.HI AUX BANK
  104. UG2       INX
  105.           LDA BANK TOGGLE BANK POINTER
  106.           BEQ UG3
  107.           LDA #0
  108.           JMP UG4
  109. UG3       LDA #8
  110. UG4       STA BANK
  111. UG5       LDA UG.BIT IF BIT POINTER = 8
  112.           CMP #16 AND TEMPORARY BYTE POINTER,
  113.           BNE UG6 X, = 12, THEN RESET, AND
  114.           CPX #12 INCREMENT BYTE POINTER
  115.           BNE UG6 BY 10
  116.           LDX #0
  117.           LDA #1
  118.           STA UG.BIT
  119.           LDA UG.LO
  120.           CLC
  121.           ADC #10
  122.           STA UG.LO
  123.           BCC UG6
  124.           INC UG.HI
  125. UG6       JMP GETBIT
  126.